The present invention is related to numerical control (NC) and more particularly to computer numerical control (CNC). Numerical Control is the generic term applied to the automation of general-purpose machine tools. Such automation is achieved through electronics and, utilizing computers, such automation has become more flexible and efficient.
One advantage of numerical control is the ability to accurately position the axes of a machine and control the cutting feeds and speeds for a machining pattern that can be repeated for each workpiece. This positioning and control information (the NC data) makes up an NC program or part program which is created by a tooling engineer (programmer). NC programs are stored in a memory of the CNC control system (hereinafter referred to generally as the controller) after the programs have been loaded into the memory through a punched tape, for example. In more sophisticated controllers, portions of the NC program can be created and loaded directly into the controller memory by xe2x80x9cteachingxe2x80x9d the machine with a hand held programmer. Once the NC program is written and stored in the controller, manual action is normally limited to setting up the part, starting the CNC controller which executes the program, and carrying out any necessary manual operations such as tool changes. The NC program, when executed by the controller directs the machine through a series of fabrication steps. For example, where the machine includes a cutting tool the cutting tool is directed relative to the workpiece to make a series of cuts (straight line or circular) in accordance with a series of NC program instructions. These instructions direct the tool as to where the workpiece is to be cut and in what order the cuts are to be made.
Most NC and CNC systems are programmed according to a standard of the Electronic Industries Association designated as EIA RS 274-D. The part program information is typically downloaded into the controller from a punched tape reader through an Input/Output (I/O) channel of the controller. However, in more sophisticated controllers, a part program file can be transferred into the controller from a remote, off-line computer through a data link (e.g. telephone line and modem), or a wired or wireless local area network (LAN) or wide area network (WAN). Further the part program information can be downloaded from a floppy disk through a drive in the controller. However, in all instances of part program file transfer, the controller must be in a non-execute state and dedicated solely to the task of downloading the file. A great deal of production time is thereby lost during these downloading or uploading procedures. Uploading is the transfer of data from the controller to an external device, e.g. remote computer, tape, floppy disk, etc.
This disadvantage may be overcome by utilizing the multitasking capabilities of a commercially available CNC control system. Such system is the 91000 SuperControl, available from Thermwood Corporation, Dale, Ind. The 91000 SuperControl is a 486 based multi-processor system that operates under an OS-2 operating system, with full multi-tasking capability. With such multi-tasking capability, production down time is reduced by downloading part program files into the controller as one independent task while concurrently running a production program on a part or workpiece as a separate independent task.
In large operations, a number of CNC machine controllers may be located within a facility or in a number of related facilities. In order to monitor operations for an entire plant or operation, it would be beneficial to have the capability of communicating with each of these controllers to gather and monitor status information at a single, remotely located computer. The present invention takes advantage of the multi-processor, multi-tasking capability of the Thermwood 9100A SuperControl to provide this capability.
As each CNC machine controller, with a multi-tasking capability (e.g. Thermwood 91000 SuperControl) is running a production program on a part or workpiece, it gathers and stores status information in a status file. Then, on a periodic basis or whenever a plant manager elects, a central computer requests the contents of the status file from a selected controller. Such status files can then be analyzed, combined, compiled, printed, etc. at the off-line remote computer while the CNC machine controllers continue to run their production programs.